package com.foo.designpattern.builder;

/**
 * com.foo.designpattern.builder
 * Created with IntelliJ IDEA.
 * Created by jiang on 2016-05-04 17:23.
 *
 * @Description 具体建造者(ConcreteBuilder)角色
 * 具体建造者角色：实现抽象建造者的所有未实现的方法。
 * 具体来说一般是两项任务：组建产品；返回组建好的产品。
 */

public class LadyBuilder implements PersonBuilder {

    private Person person;

    public LadyBuilder() {
        this.person = new Lady();
    }

    /**
     * 组建产品
     * 分别组建产品的各个零件
     */

    public void buildHead() {
        person.setHead("建造女人的头");
    }

    public void buildBody() {
        person.setBody("建造女人的身体☉☉");
    }

    public void buildFoot() {
        person.setFoot("建造女人的脚");
    }

    /**
     * 返回组建好的产品
     *
     * @return 已组建的产品
     */
    public Person buildPerson() {
        return person;
    }

    public class Lady extends Person {
    }
}